The present invention relates to the user interface of a data processing system. More specifically, the invention relates to the organization of display objects such as windows into groups which are displayed together on a display-based user interface, each group being appropriate to a particular user task.
Current user interfaces typically include various types of input/output (I/O) devices-display outputs such as a cathode ray tube (CRT) and manually operated inputs such as a keyboard and a mouse. For example, a user provides alphanumeric and other inputs using the keyboard and provides inputs indicating position on the display using the mouse. The data processing system provides a display that helps the user to provide a sequence of manual inputs which will lead to the results the user desires.
One conventional technique for helping the user of a display-based user interface is to provide visually distinct display objects on the screen, each object fulfilling a corresponding function. For example, a pointer such as an arrow can be displayed on the screen, moving in response to a mouse or other pointer control device. The pointer appears to move over a number of other display objects which the user may select. The user typically selects a selectable display object or a distinct internal part of such a display object by a pointer signal, as by pressing an appropriate button on the mouse, when the pointer is on that display object or that distinct internal part. A user selection initiates operations of the data processing system which bear some logical relation to that display object.
The selectable display objects take many forms. The term "window" is applied to selectable display objects of various types, and one typical characteristic of windows is that the effect of a pointer signal within a window depends on the pointer location. The term "menu" is usually applied to another type of display object which also has this characteristic of distinct internal locations, because a menu typically has several areas within it, each of which represents an option which the user may select with a pointer signal in that area. The term "icon", on the other hand, is usually applied to a display object which does not have this characteristic of distinct internal locations, but which is a relatively small and visually suggestive of its function. A pointer signal within an icon typically produces the same effect regardless of the pointer's location within the icon.
Conventional display-based user interfaces thus may include at least three categories of display objects: a position indicating display object, such as a pointer; selectable display objects without internal location distinctions, such as icons; and selectable display objects with internal location distinctions, such as windows and menus. In addition, the user interface includes a set of procedures according to which the data processing system responds to selections and other inputs from the user.
A central constraint on user interface design is the relatively small size of the display screen, because it limits the number of perceptible objects which can be displayed to the user at any given time. On the other hand, the user tends to switch back and forth between tasks, each relating to a different group of display objects. Bannon, L., Cypher A., Greenspan, S. and Monty, M.L., in Proceedings of the ACM Human Factors in Software Conference, CHI'83, (1983), pp. 54-57 and in a talk delivered by Melissa Monty at CHI'83, Boston, December 1983, describe a number of reasons for task switching. As a result of task switching, the relatively small display typically becomes cluttered with a large number of objects, many of which are not relevant to the current task.
One set of techniques permits the user to reduce cluttering by distorting display objects within the workspace which appears on the screen. Smith, D., "Pygmalion", PhD Thesis, Dept. of Computer Science, Stanford University, 1975, describes the shrinking of windows to icons or small pictures reminding the user of the contents of the window. Goldberg, A., Smalltalk-80--The Interactive Programming Environment, Addison-Wesley, Reading, Mass., 1984, describes the user interface of the Smalltalk-80 system, in which a rectangular area on the display in which information may be accessed is called a "view" rather than a window, and in which views may overlap, allowing windows to cover each other, leaving only a portion to remind the user of what lies behind. Smalltalk permits two independent views of a single application, so that modifications of the data engaged by that application in one view are visible in the other view, even though the two views are produced by different objects in the system. Furnas, G., "Generalized Fisheye Views", in Mantei, M. and Orbeton, P. (eds.), Human Factors in Computing Systems--III, Proceedings of the CHI ' 86 Conference, Boston, April 1986, pp. 16-23, describes a fish-eye distortion technique in which all the objects are forced to fit by selectively showing objects based on their intrinsic importance and the user's current focus of attention. Spence, R. and Apperly, M., "Data Base Navigation: An Office Environment for the Professional", Behavior and Information Technology, Vol. 1, No. 1 (1982), pp. 43-54 describes a similar technique. DiSessa, A., "A Principled Design for an Integrated Computational Environment", Human-Computer Interaction, Vol. 1, No. 1 (1985), pp. 1-47, describes a spatial box metaphor in which boxes are nested in a hierarchy, and individual boxes can either appear expanded or shrunk to a symbol, depending on the user's position in the hierarchy.
Several other techniques permit the user to reduce cluttering by allocating screen usage between a number of tasks based on a desktop metaphor. Smith, D.C., Irby, C., Kimball, R., Verplank, B., and Harslem, E., "Designing the Star User Interface", BYTE, Vol. 7, No. 4 (April 1982), pp. 242-282, describe the Xerox Star user interface which employs a desktop metaphor, with icons representing familiar items which would appear on one's desk or in one's office, such as a document, a file folder, or a file drawer. In this type of user interface, the allocation of screen space can be switched from one display system object to another by, for example, shrinking the windows of one task to icons and expanding the icons of another task to windows. G. Williams, "The Lisa Computer System", BYTE, February 1983, pp. 33-50, describes the Lisa user interface which, like the Xerox Star, employs a desktop metaphor; at pages 36-38, Williams describes icons and windows which appear on the desktop, and also describes a window capable of containing icons. The further development of these features in the Macintosh user interface is described in the MacWrite Manual and the MacPaint Manual published by Apple Computer, Inc.
Other techniques are based on a large virtual workspace metaphor in which the screen is thought of as a movable viewport onto the workspace. Sutherland, I.E., "Sketchpad: A Man-machine Graphical Communication System", AFIPS Spring Joint Computer Conference, Vol. 23, (1963), pp. 329-346, describes Sketchpad, an early graphical program using this technique. Bolt, R.A., The Human Interface, Lifetime Learning Publications, Belmont, Calif. (1984), describes Dataland, in which color pictorial and textual data are arranged in three screens, one for an overview of the whole space, one for a detailed view of some portion of the space, and one touch-screen for control. The user can translate the detailed view to a different area or zoom to obtain more detail. Donahue, J. and Widom, J., "Whiteboards: A Graphical Database Tool", ACM Transactions on Office Information Systems, January 1986, Vol. 4, No. 1, pp. 24-41, describe operations for examining the contents of a Whiteboard display within which objects have spatial locations. Fisher, S. S., McGreevy, M., Humphries, J. and Robinett, W., "Virtual Environment Display System", presented at ACM Workshop on Interactive 3D Graphics, Chapel Hill, N.C., October 1986, which is not prior art in relation to the present invention, describe head-mounted displays used by NASA to monitor user head and body movements and provide a complete simulated three-dimensional visual space.
Another set of techniques provide multiple virtual workspaces, allowing more convenient access to non-displayed display objects by switching quickly from one virtual workspace to another. At pages 42, 49 and 67-73, Goldberg, cited above, describes a Smalltalk display object called a "project", which is a collection of views which takes up the entire display. The projects are organized hierarchically, so that one path to each project is through a window, referred to as a "door", which appears in the display of the project in which it is created, called its parent. The user can return to the current project's parent by selecting a menu command "exit project". At pages 322-339, Goldberg describes a project browser which can also be used to access a project. The project browser has two subviews, one containing a list menu with the titles of all existing projects and the other containing editable text which describes a project being created or accessed.
Bolt, cited above, and Herot, C. F., "Spatial Management of Data", ACM Trans. on Database Systems, Vol. 5, No. 4 (December 1980), pp. 493-514, describe the CCA system, a further development of Dataland, in which the user is swept into a subworkspace upon zooming close enough to a port, the subworkspaces being arranged hierarchically.
Chan, P. P., Learning Considerations in User Interface Design: The Room Model, (Report CS-84-16) University of Waterloo Computer Science Department, Waterloo, Ontario, Canada, 1984, in Chapter 3, proposes another type of multiple virtual workspaces, the Room user interface. In this interface, a group of icons is displayed in a container called a room, with some of the icons being door icons which, when selected, result in the display of a different room. At page 26, Chan compares this with the Xerox Star user interface, noting that the Room user interface provides "multiple desktops" in the form of multiple rooms, made possibly by the door icons. In Chapter 5, Chan describes the hierarchical data structure within which each room contains the data structure of each of its icons. Chan notes in Chapter 6 that the desktop model of Xerox Star provides a single workspace, requiring the user to waste time rearranging the displayed objects, while the room model reduces this form of waste. Chan also suggests a number of additional features, including a higher level display system object for manipulating rooms and, when the attributes of an icon are being examined, growing the icon as much as necessary and leaving other icons partially visible behind the opened icon.
Feiner, S., Nagy, S., and Van Dam, A., "An Experimental System for Creating and Presenting Interactive Graphical Documents", ACM Trans. on Graphics, Vol. 1, No. 1 (January 1982), pp. 59-77, describe documents which are directed graphs whose nodes are referred to as pages. The pages are organized into subchapters and chapters. A page may contain a button which can provide access to another page.
Hypertext systems typically include small, often textual, networks of displayed data units connected with arbitrary patterns of typed links providing paths between locations within the data units. PROMIS, described by Hurst, J. and Walker, K. (eds.), The Problem-Oriented System, MEDCOM Press, N.Y. (1972), and ZOG, described by Robertson, G., McCracken, D. and Newell, A., "The ZOG Approach to Man-Machine Communication", Int'l Journal of Man-Machine Studies, Vol. 14, No. 4, May 1981, pp. 461-488, each display a single data unit at a time. NLS, described by Engelbart, D. E. and English, W. K., "A Research Center for Augmenting Human Intellect", Proceedings of the AFIPS Fall Joint Computer Conference, Vol. 33 (1968), pp. 395-410, provides access to a subtree of data units if screen space permits. Notecards, a product of Xerox Corporation, provides access to any arbitrary set of data units.
A problem shared by the large virtual workspace techniques and the multiple virtual workspace techniques is that the user needs help navigating. In the large virtual workspaces such as Dataland, the user may navigate much as in space, by translating and zooming, and may be assisted by having both global and local views. In multiple virtual workspaces such as Smalltalk projects, the project browser similarly can relate a limited number of projects for user navigation. In the hypertext systems such as the electronic book and NoteCards, browsers may be used as well as presentations of local connections between workspaces.
Some related features have been described in the patent literature. Ikegami et al., European Patent Application Publication No. 0,108,520, describe a method of controlling windows to display card images lengthwise on a display; a group of card images may be processed as a box, as explained at pages 4-5. Cason et al., U.S. Pat. No. 4,484,302, describe multiple virtual displays at columns 2 and 5. Shaw et al., U.S. Pat. No. 4,598,384, describe at column 2 a graphics display with independent windows, several of which may be simultaneously operated from one or more application programs. Pike, U.S. Pat. No. 4,555,775, describes graphics software under which each of several bitmap layers or windows is always active regardless of its visibility, beginning at column 1. Tabata et al., U.S. Pat. No. 4,574,364, describe a display technique in which a window management table is used to manage the information about plural windows. It would be advantageous to have a more useful multiple workspace user interface.